package ee.parameterConverter;

import java.lang.reflect.Type;
import java.util.Map;

public interface ParameterConverter {
	public Object convert(Map<String, String[]> parameters, Type type) throws ConversionFailedException, EmptyValueException;
	public <T> T convert(Map<String, String[]> parameters, Class<T> type) throws ConversionFailedException, EmptyValueException;
	public Object convert(Map<String, String[]> parameters, Type type, String key) throws ConversionFailedException, EmptyValueException;
	public <T> T convert(Map<String, String[]> parameters, Class<T> type, String key) throws ConversionFailedException, EmptyValueException;
	public ValidationResultCollector getValidationResultCollector();
}
